package com.woniu.system.service;

import com.github.pagehelper.PageInfo;
import com.woniu.common.entity.Manage;

/**
 * @author 房东
 * @version 1.0
 * @date 2021/9/12 15:42
 * @Description 管理员业务层接口
 */
public interface ManageService {
    /**
     * 根据账户名查找账户名是否存在
     * @param username 账户名
     */
    boolean checkUserName(String username);

    /**
     * 管理员登录
     * @param username 管理员账号
     * @param password 管理员密码
     */
    Manage login(String username, String password);

    /**
     * 添加新的管理员账户
     * @param manage 管理员对象
     * @return 是否添加成功
     */
    boolean addManage(Manage manage);

    /**
     * 修改账户信息
     * @param manage 修改后的信息
     * @return 是否修改成功
     */
    boolean updateManage(Manage manage);

    /**
     * 根据主键查找用户
     * @param mid 主键id
     * @return 返回管理员对象
     */
    Manage findByMid(Integer mid);

    /**
     * 根据id修改用户状态
     * @param mid id
     * @param mstate 修改后的状态
     * @return 是否修改成功
     */
    boolean updateState(Integer mid, boolean mstate);

    /**
     * 根据id重置账号密码
     * @param mid id
     * @return 是否重置成功
     */
    boolean resetPassword(Integer mid);

    /**
     * 分配角色权限
     * @param manage
     * @return
     */
    boolean assignRoles(Manage manage);

    /**
     * 查找所有的管理员账号
     * @return
     * @param like 模糊查询
     * @param pageNum 当前页
     * @param pageSize 每页的条数
     */
    PageInfo<Manage> findAll(String like, Integer pageNum, Integer pageSize);
}
